It is known for a single, common clock signal to be used as a timing reference for multiple different functional components within an integrated circuit device. Consequently, operations carried out within multiple different functional components within an integrated circuit device can become synchronised to the frequency of the common clock signal, or derivations thereof. An effect of this synchronisation of operations is that it can result in a large amount of electromagnetic energy being concentrated around the synchronised operating frequencies of the various functional components, which can have an adverse effect on the correct functioning of components within the integrated circuit device.
In order to control the electromagnetic interference generated by functional components synchronised to a common clock signal, and thereby to assure electromagnetic compatibility (EMC), it is known to use a clock generator for generating the common clock signal that modulates the generated clock signal such that the clock signal has a ‘spread’ frequency. In this manner, the electromagnetic energy generated by the operations of the various functional components synchronised to the clock frequency is spread over a frequency small range (or derivative frequency ranges), reducing the peak electromagnetic energy levels generated.
However, a problem with modulating the frequency of the clock signal in this manner is that it introduces jitter into the clock signal, which cannot be tolerated by some functional components that may be present within an integrated circuit device. For example, the performance of timing sensitive circuits using capacitors with switching mechanism, such as analogue to digital converters and the like, is significantly degraded by the jitter introduced by frequency modulated clock signals. The use of such frequency modulation on a clock signal used to synchronise functional components can also introduce issues at the functional level, for example in terms of affecting setup and hold timings of critical data paths etc.